home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…ch: Other People's Memory / ADC Developer CD (1993-03) (''Other People's Memory'')_iso / Dev.CD Mar 93.iso / Development Platforms / Apple II / Essentials / APW Interfaces / CInclude / GSOS.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-04  |  20.7 KB  |  639 lines  |  [TEXT/MPS ]

  1. /********************************************
  2. ; File: GSOS.h
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc.1986-91
  6. ; All Rights Reserved
  7. ;
  8. ********************************************/
  9. #ifndef __TYPES__
  10. #include <TYPES.h>
  11. #endif
  12.  
  13. #ifndef __GSOS__
  14. #define __GSOS__
  15.  
  16.  
  17. /*
  18.     Read/Write enable bit Codes
  19.     for CreateRec/OpenRec access and requestAccess fields
  20. */
  21.  
  22. #define readEnableAllowWrite    0x0000
  23. #define readEnable                0x0001
  24. #define writeEnable                0x0002
  25. #define readWriteEnable            0x0003
  26. #define fileInvisible            0x0004    /* Invisible bit */
  27. #define backupNeeded            0x0020    /* backup needed bit: CreateRec/ OpenRec access  field. (Must be 0 in requestAccess field ) */
  28. #define renameEnable            0x0040    /* rename enable bit: CreateRec/ OpenRec access and requestAccess fields */
  29. #define destroyEnable            0x0080    /* destroy enable  bit: CreateRec/ OpenRec access and requestAccess fields */
  30. #define startPlus                0x0000    /* base -> setMark = displacement */
  31. #define eofMinus                0x0001    /* base -> setMark = eof - displacement */
  32. #define markPlus                0x0002    /* base -> setMark = mark + displacement */
  33. #define markMinus                0x0003    /* base -> setMark = mark - displacement */
  34.  
  35. /* cachePriority Codes */
  36. #define cacheOff                0x0000    /* do not cache blocks invloved in this read */
  37. #define cacheOn                    0x0001    /* cache blocks invloved in this read if possible */
  38.  
  39. /* Error Codes */
  40. #define badSystemCall            0x0001    /* bad system call number */
  41. #define invalidPcount            0x0004    /* invalid parameter count */
  42. #define gsosActive                0x0007    /* GS/OS already active */
  43. #ifndef devNotFound                      /* device not found */
  44.     #define devNotFound            0x0010
  45. #endif
  46. #define invalidDevNum            0x0011    /* invalid device number */
  47. #define drvrBadReq                0x0020    /* bad request or command */
  48. #define drvrBadCode                0x0021    /* bad control or status code */
  49. #define drvrBadParm                0x0022    /* bad call parameter */
  50. #define drvrNotOpen                0x0023    /* character device not open */
  51. #define drvrPriorOpen            0x0024    /* character device already open */
  52. #define irqTableFull            0x0025    /* interrupt table full */
  53. #define drvrNoResrc                0x0026    /* resources not available */
  54. #define drvrIOError                0x0027    /* I/O error */
  55. #define drvrNoDevice            0x0028    /* device not connected */
  56. #define drvrBusy                0x0029    /* call aborted; driver is busy */
  57. #define drvrWrtProt                0x002B    /* device is write protected */
  58. #define drvrBadCount            0x002C    /* invalid byte count */
  59. #define drvrBadBlock            0x002D    /* invalid block address */
  60. #define drvrDiskSwitch            0x002E    /* disk has been switched */
  61. #define drvrOffLine                0x002F    /* device off line/ no media present */
  62. #define badPathSyntax            0x0040    /* invalid pathname syntax */
  63. #define tooManyFilesOpen        0x0042    /* too many files open on server volume */
  64. #define invalidRefNum            0x0043    /* invalid reference number */
  65. #ifndef pathNotFound                    /* subdirectory does not exist */
  66.     #define pathNotFound        0x0044
  67. #endif
  68. #define volNotFound                0x0045    /* volume not found */
  69. #ifndef fileNotFound                    /* file not found */
  70.     #define fileNotFound        0x0046
  71. #endif
  72. #define dupPathname                0x0047    /* create or rename with existing name */
  73. #define volumeFull                0x0048    /* volume full error */
  74. #define volDirFull                0x0049    /* volume directory full */
  75. #define badFileFormat            0x004A    /* version error (incompatible file format) */
  76. #ifndef badStoreType                    /* unsupported (or incorrect) storage type */
  77.     #define badStoreType        0x004B
  78. #endif
  79. #ifndef eofEncountered                    /* end-of-file encountered */
  80.     #define eofEncountered        0x004C
  81. #endif
  82. #define outOfRange                0x004D    /* position out of range */
  83. #define invalidAccess            0x004E    /* access not allowed */
  84. #define buffTooSmall            0x004F    /* buffer too small */
  85. #define fileBusy                0x0050    /* file is already open */
  86. #define dirError                0x0051    /* directory error */
  87. #define unknownVol                0x0052    /* unknown volume type */
  88. #ifndef paramRangeErr                    /* parameter out of range */
  89.     #define paramRangeErr        0x0053
  90. #endif
  91. #define outOfMem                0x0054    /* out of memory */
  92. #define dupVolume                0x0057    /* duplicate volume name */
  93. #define notBlockDev                0x0058    /* not a block device */
  94. #ifndef invalidLevel                    /* specifield level outside legal range */
  95.     #define invalidLevel        0x0059
  96. #endif
  97. #define damagedBitMap            0x005A    /* block number too large */
  98. #define badPathNames            0x005B    /* invalid pathnames for ChangePath */
  99. #define notSystemFile            0x005C    /* not an executable file */
  100. #define osUnsupported            0x005D    /* Operating System not supported */
  101. #ifndef stackOverflow                    /* too many applications on stack */
  102.     #define stackOverflow        0x005F
  103. #endif
  104. #define dataUnavail                0x0060    /* Data unavailable */
  105. #define endOfDir                0x0061    /* end of directory has been reached */
  106. #define invalidClass            0x0062    /* invalid FST call class */
  107. #define resForkNotFound            0x0063    /* file does not contain required resource */
  108. #define invalidFSTID            0x0064    /* error - FST ID is invalid */
  109. #define invalidFSTop            0x0065    /* invalid FST operation */
  110. #define fstCaution                0x0066    /* FST handled call, but result is weird */
  111. #define devNameErr                0x0067    /* device exists with same name as replacement name */
  112. #define defListFull                0x0068    /* device list is full */
  113. #define supListFull                0x0069    /* supervisor list is full */
  114. #define fstError                0x006a    /* generic FST error */
  115. #define resExistsErr            0x0070    /* cannot expand file, resource already exists */
  116. #define resAddErr                0x0071    /* cannot add resource fork to this type file */
  117. #define networkError            0x0088    /* generic network error */
  118.  
  119. /* fileSys IDs */
  120. #define proDOSFSID                0x0001    /* ProDOS/SOS */
  121. #define dos33FSID                0x0002    /* DOS 3.3 */
  122. #define dos32FSID                0x0003    /* DOS 3.2 */
  123. #define dos31FSID                0x0003    /* DOS 3.1 */
  124. #define appleIIPascalFSID        0x0004    /* Apple II Pascal */
  125. #define mfsFSID                    0x0005    /* Macintosh (flat file system) */
  126. #define hfsFSID                    0x0006    /* Macintosh (hierarchical file system) */
  127. #define lisaFSID                0x0007    /* Lisa file system */
  128. #define appleCPMFSID            0x0008    /* Apple CP/M */
  129. #define charFSTFSID                0x0009    /* Character FST */
  130. #define msDOSFSID                0x000A    /* MS/DOS */
  131. #define highSierraFSID            0x000B    /* High Sierra */
  132. #define iso9660FSID                0x000C    /* ISO 9660 */
  133. #define appleShareFSID            0x000D    /* ISO 9660 */
  134.  
  135. /* FSTInfo.attributes Codes */
  136. #define characterFST            0x4000    /* character FST */
  137. #define ucFST                    0x8000    /* SCM should upper case pathnames before passing them to the FST */
  138.  
  139. /* QuitRec.flags Codes */
  140. #define onStack                    0x8000    /* place state information about quitting program on the quit return stack */
  141. #define restartable                0x4000    /* the quitting program is capable of being restarted from its dormant memory */
  142.  
  143. /* storageType Codes */
  144. #define seedling                0x0001    /* standard file with seedling structure */
  145. #define standardFile            0x0001    /* standard file type (no resource fork) */
  146. #define sapling                    0x0002    /* standard file with sapling structure */
  147. #define tree                    0x0003    /* standard file with tree structure */
  148. #define pascalRegion            0x0004    /* UCSD Pascal region on a partitioned disk */
  149. #define extendedFile            0x0005    /* extended file type (with resource fork) */
  150. #define directoryFile            0x000D    /* volume directory or subdirectory file */
  151.  
  152. /* version Codes */
  153. #define minorRelNumMask            0x00FF    /* minor release number */
  154. #define majorRelNumMask            0x7F00    /* major release number */
  155. #define finalRelNumMask            0x8000    /* final release number */
  156.  
  157. /* Other Constants */
  158. #define isFileExtended            0x8000    /* GetDirEntryGS */
  159.  
  160. /* DControl Codes */
  161. #define resetDevice                0x0000
  162. #define formatDevice            0x0001
  163. #define eject                    0x0002
  164. #define setConfigParameters        0x0003
  165. #define setWaitStatus            0x0004
  166. #define setFormatOptions        0x0005
  167. #define assignPartitionOwner    0x0006
  168. #define armSignal                0x0007
  169. #define disarmSignal            0x0008
  170. #define setPartitionMap            0x0009
  171.  
  172. typedef struct GSString255 {
  173.     Word    length;                /* Number of Chars in text field  */
  174.     char    text[255];
  175. } GSString255, *GSString255Ptr, **GSString255Hndl;
  176. typedef GSString255Hndl *GSString255HndlPtr;
  177.  
  178. typedef struct GSString32 {
  179.     Word    length;                /* Number of characters in text field */
  180.     char    text[32];
  181. } GSString32, *GSString32Ptr, **GSString32Hndl;
  182.  
  183. typedef struct ResultBuf255 {
  184.     Word        bufSize;
  185.     GSString255    bufString;
  186. } ResultBuf255, *ResultBuf255Ptr, **ResultBuf255Hndl;
  187. typedef ResultBuf255Hndl *ResultBuf255HndlPtr ;
  188.  
  189. typedef struct ResultBuf32 {
  190.     Word        bufSize;
  191.     GSString32    bufString;
  192. } ResultBuf32, *ResultBuf32Ptr, **ResultBuf32Hndl;
  193.  
  194. typedef struct ChangePathRecGS {
  195.     Word            pCount;
  196.     GSString255Ptr    pathname;
  197.     GSString255Ptr    newPathname;
  198.     Word            flags;
  199. } ChangePathRecGS, *ChangePathRecPtrGS;
  200.  
  201. typedef struct CreateRecGS {
  202.     Word            pCount;
  203.     GSString255Ptr    pathname;
  204.     Word            access;
  205.     Word            fileType;
  206.     LongWord        auxType;
  207.     Word            storageType;
  208.     LongWord        eof;
  209.     LongWord        resourceEOF;
  210. } CreateRecGS, *CreateRecPtrGS;
  211.  
  212. typedef struct DAccessRecGS {
  213.     Word        pCount;
  214.     Word        devNum;
  215.     Word        code;
  216.     Pointer        list;
  217.     LongWord    requestCount;
  218.     LongWord    transferCount;
  219. } DAccessRecGS, *DAccessRecPtrGS;
  220.  
  221. typedef struct DevNumRecGS {
  222.     Word            pCount;
  223.     GSString32Ptr    devName;
  224.     Word            devNum;
  225. } DevNumRecGS, *DevNumRecPtrGS;
  226.  
  227. typedef struct DInfoRecGS {
  228.     Word            pCount;        /* minimum = 2 */
  229.     Word            devNum;
  230.     ResultBuf32Ptr    devName;
  231.     Word            characteristics;
  232.     LongWord        totalBlocks;
  233.     Word            slotNum;
  234.     Word            unitNum;
  235.     Word            version;
  236.     Word            deviceID;
  237.     Word            headLink;
  238.     Word            forwardLink;
  239.     Pointer            extendedDIBPtr;
  240. } DInfoRecGS, *DInfoRecPtrGS;
  241.  
  242. typedef struct DIORecGS {
  243.     Word        pCount;
  244.     Word        devNum;
  245.     Pointer        buffer;
  246.     LongWord    requestCount;
  247.     LongWord    startingBlock;
  248.     Word        blockSize;
  249.     LongWord    transferCount;
  250. } DIORecGS, *DIORecPtrGS;
  251.  
  252. typedef struct DirEntryRecGS {
  253.     Word            pCount;
  254.     Word            refNum;
  255.     Word            flags;
  256.     Word            base;
  257.     Word            displacement;
  258.     ResultBuf255Ptr    name;
  259.     Word            entryNum;
  260.     Word            fileType;
  261.     Longint            eof;
  262.     LongWord        blockCount;
  263.     TimeRec            createDateTime;
  264.     TimeRec            modDateTime;
  265.     Word            access;
  266.     LongWord        auxType;
  267.     Word            fileSysID;
  268.     ResultBuf255Ptr    optionList;
  269.     LongWord        resourceEOF;
  270.     LongWord        resourceBlocks;
  271. } DirEntryRecGS, *DirEntryRecPtrGS;
  272.  
  273. typedef struct DRenameRecGS {
  274.     Word            pCount;
  275.     Word            devNum;
  276.     GSString32Ptr    strPtr;
  277. } DRenameRecGS, *DRenameRecGSPtr;
  278.  
  279. typedef struct ExpandPathRecGS {
  280.     Word            pCount;
  281.     GSString255Ptr    inputPath;
  282.     ResultBuf255Ptr    outputPath;
  283.     Word            flags;
  284. } ExpandPathRecGS, *ExpandPathRecPtrGS;
  285.  
  286. typedef struct FileInfoRecGS {
  287.     Word            pCount;
  288.     GSString255Ptr    pathname;
  289.     Word            access;
  290.     Word            fileType;
  291.     LongWord        auxType;
  292.     Word            storageType;    /* must be 0 for SetFileInfo */
  293.     TimeRec            createDateTime;
  294.     TimeRec            modDateTime;
  295.     ResultBuf255Ptr    optionList;
  296.     LongWord        eof;
  297.     LongWord        blocksUsed;        /* must be 0 for SetFileInfo */
  298.     LongWord        resourceEOF;    /* must be 0 for SetFileInfo */
  299.     LongWord        resourceBlocks;    /* must be 0 for SetFileInfo */
  300. } FileInfoRecGS, *FileInfoRecPtrGS;
  301.  
  302. typedef struct FormatRecGS {
  303.     Word            pCount;
  304.     GSString32Ptr    devName;        /* device name pointer */
  305.     GSString32Ptr    volName;        /* volume name pointer */
  306.     Word            fileSysID;        /* file system ID */
  307.     Word            reqFileSysID;    /* in;  */
  308.     Word            flags;
  309.     ResultBuf255Ptr    realVolName;
  310. } FormatRecGS, *FormatRecPtrGS;
  311.  
  312. typedef struct FSTInfoRecGS {
  313.     Word            pCount;
  314.     Word            fstNum;
  315.     Word            fileSysID;
  316.     ResultBuf255Ptr    fstName;
  317.     Word            version;
  318.     Word            attributes;
  319.     Word            blockSize;
  320.     LongWord        maxVolSize;
  321.     LongWord        maxFileSize;
  322. } FSTInfoRecGS, *FSTInfoRecPtrGS;
  323.  
  324. typedef struct InterruptRecGS {
  325.     Word    pCount;
  326.     Word    intNum;
  327.     Word    vrn;        /* used only by BindInt */
  328.     ProcPtr    intCode;    /* used only by BindInt */
  329. } InterruptRecGS, *InterruptRecPtrGS;
  330.  
  331. typedef struct IORecGS {
  332.     Word        pCount;
  333.     Word        refNum;
  334.     Pointer        dataBuffer;
  335.     LongWord    requestCount;
  336.     LongWord    transferCount;
  337.     Word        cachePriority;
  338. } IORecGS, *IORecPtrGS;
  339.  
  340. typedef struct JudgeNameRecGS {
  341.     Word            pCount;
  342.     Word            fileSysID;
  343.     Word            nameType;
  344.     Pointer         syntax;
  345.     Word            maxLen;
  346.     ResultBuf255Ptr    name;
  347.     Word            nameFlags;
  348. } JudgeNameRecGS, *JudgeNameRecPtrGS;
  349.  
  350. typedef struct LevelRecGS {
  351.     Word    pCount;
  352.     Word    level;
  353.     Word    levelMode;
  354. } LevelRecGS, *LevelRecPtrGS;
  355.  
  356. typedef struct NameRecGS {
  357.     Word            pCount;
  358.     GSString255Ptr    pathname;    /* full pathname or a filename depending on call */
  359. } NameRecGS, *NameRecPtrGS;
  360.  
  361. typedef struct NotifyProcRecGS {
  362.     Word    pCount;
  363.     ProcPtr    procPointer;
  364. } NotifyProcRecGS, *NotifyProcRecGSPtr;
  365.  
  366. typedef struct GetNameRecGS {
  367.     Word            pCount;
  368.     ResultBuf255Ptr    dataBuffer;    /* full pathname or a filename depending on call */
  369.     Word            userID;
  370. } GetNameRecGS, *GetNameRecPtrGS;
  371.  
  372. typedef struct NewlineRecGS {
  373.     Word    pCount;
  374.     Word    refNum;
  375.     Word    enableMask;
  376.     Word    numChars;
  377.     Pointer    newlineTable;
  378. } NewlineRecGS, *NewlineRecPtrGS;
  379.  
  380. typedef struct OpenRecGS {
  381.     Word            pCount;
  382.     Word            refNum;
  383.     GSString255Ptr    pathname;
  384.     Word            requestAccess;
  385.     Word            resourceNumber;    /* For extended files: dataFork/resourceFork */
  386.     Word            access;            /* Value of file's access attribute */
  387.     Word            fileType;        /* Value of file's fileType attribute */
  388.     LongWord        auxType;
  389.     Word            storageType;
  390.     TimeRec            createDateTime;
  391.     TimeRec            modDateTime;
  392.     ResultBuf255Ptr    optionList;
  393.     LongWord        eof;
  394.     LongWord        blocksUsed;
  395.     LongWord        resourceEOF;
  396.     LongWord        resourceBlocks;
  397. } OpenRecGS, *OpenRecPtrGS;
  398.  
  399. typedef struct OSShutDownRecGS {
  400.     Word    pCount;
  401.     Word    shutdownFlag;
  402. } OSShutDownRecGS, *OSShutDownRecPtrGS;
  403.  
  404. typedef struct PositionRecGS {
  405.     Word        pCount;
  406.     Word        refNum;
  407.     LongWord    position;
  408. } PositionRecGS, *PositionRecPtrGS;
  409.  
  410. typedef struct EOFRecGS {
  411.     Word        pCount;
  412.     Word        refNum;
  413.     LongWord    eof;
  414. } EOFRecGS, *EOFRecPtrGS;
  415.  
  416. typedef struct PrefixRecGS {
  417.     Word    pCount;
  418.     Word    prefixNum;
  419.     union {
  420.         ResultBuf255Ptr    getPrefix;
  421.         GSString255Ptr    setPrefix;
  422.     } buffer;
  423. } PrefixRecGS, *PrefixRecPtrGS;
  424.  
  425. typedef struct QuitRecGS {
  426.     Word            pCount;
  427.     GSString255Ptr    pathname;    /* pathname of next app to run */
  428.     Word            flags;
  429. } QuitRecGS, *QuitRecPtrGS;
  430.  
  431. typedef struct RefNumRecGS {
  432.     Word    pCount;
  433.     Word    refNum;
  434. } RefNumRecGS, *RefnumRecPtrGS;
  435.  
  436. typedef struct GetRefNumRecGS {
  437.     Word            pCount;
  438.     GSString255Ptr    pathname;
  439.     Word            refNum;
  440.     Word            access;
  441.     Word            resNum;
  442.     Boolean            caseSense;
  443.     Word            displacement;
  444. } GetRefNumRecGS, *GetRefNumRecPtrGS;
  445.  
  446. typedef struct StdRefNumRecGS {
  447.     Word    pCount;
  448.     Word    prefixNum;
  449.     Word    refNum;
  450. } StdRefNumRecGS, *StdRefNumRecGSPtr;
  451.  
  452. typedef struct SessionStatusRecGS {
  453.     Word    pCount;        /* in: min = 1 */
  454.     Word    status;        /* out: */
  455. } SessionStatusRecGS, *SessionStatusRecPtrGS;
  456.  
  457. typedef struct SetPositionRecGS {
  458.     Word        pCount;
  459.     Word        refNum;
  460.     Word        base;
  461.     LongWord    displacement;
  462. } SetPositionRecGS, *SetPositionRecPtrGS;
  463.  
  464. typedef struct SysPrefsRecGS {
  465.     Word    pCount;
  466.     Word    preferences;
  467. } SysPrefsRecGS, *SysPrefsRecPtrGS;
  468.  
  469. typedef struct VersionRecGS {
  470.     Word    pCount;
  471.     Word    version;
  472. } VersionRecGS, *VersionRecPtrGS;
  473.  
  474. typedef struct VolumeRecGS {
  475.     Word            pCount;
  476.     GSString32Ptr    devName;
  477.     ResultBuf255Ptr    volName;
  478.     LongWord        totalBlocks;
  479.     LongWord        freeBlocks;
  480.     Word            fileSysID;
  481.     Word            blockSize;
  482.     Word            characteristics;
  483.     Word            deviceID;
  484. } VolumeRecGS, *VolumeRecPtrGS;
  485.  
  486. typedef struct RefInfoRecGS {
  487.     Word            pCount;
  488.     Word            refNum;
  489.     Word            access;
  490.     ResultBuf255Ptr    pathname;
  491.     Word            resourceNumber;
  492.     Word            level;
  493. } RefInfoRecGS, *RefInfoRecGSPtr;
  494.  
  495. #ifndef stackEntry
  496.     #define stackEntry    0xE100B0
  497. #endif
  498.  
  499. #ifndef sysCall
  500.     extern pascal void sysCall() inline(0x0000,stackEntry); 
  501. #endif
  502.  
  503. #define AddNotifyProcGS(pBlockPtr)        sysCall(pBlockPtr,0x2034)
  504. #define BeginSessionGS(pBlockPtr)        sysCall(pBlockPtr,0x201D)
  505. #define BindIntGS(pBlockPtr)            sysCall(pBlockPtr,0x2031)
  506. #define ChangePathGS(pBlockPtr)            sysCall(pBlockPtr,0x2004)
  507. #define ClearBackupBitGS(pBlockPtr)        sysCall(pBlockPtr,0x200B)
  508. #define CloseGS(pBlockPtr)                sysCall(pBlockPtr,0x2014)
  509. #define CreateGS(pBlockPtr)                sysCall(pBlockPtr,0x2001)
  510. #define DControlGS(pBlockPtr)            sysCall(pBlockPtr,0x202E)
  511. #define DelNotifyProcGS(pBlockPtr)        sysCall(pBlockPtr,0x2035)
  512. #define DestroyGS(pBlockPtr)            sysCall(pBlockPtr,0x2002)
  513. #define DInfoGS(pBlockPtr)                sysCall(pBlockPtr,0x202C)
  514. #define DReadGS(pBlockPtr)                sysCall(pBlockPtr,0x202F)
  515. #define DRenameGS(pBlockPtr)            sysCall(pBlockPtr,0x2036)
  516. #define DStatusGS(pBlockPtr)            sysCall(pBlockPtr,0x202D)
  517. #define DWriteGS(pBlockPtr)                sysCall(pBlockPtr,0x2030)
  518. #define EndSessionGS(pBlockPtr)            sysCall(pBlockPtr,0x201E)
  519. #define EraseDiskGS(pBlockPtr)            sysCall(pBlockPtr,0x2025)
  520. #define ExpandPathGS(pBlockPtr)            sysCall(pBlockPtr,0x200E)
  521. #define FlushGS(pBlockPtr)                sysCall(pBlockPtr,0x2015)
  522. #define FormatGS(pBlockPtr)                sysCall(pBlockPtr,0x2024)
  523. #define FSTSpecific(pBlockPtr)            sysCall(pBlockPtr,0x2033)
  524. #define GetBootVolGS(pBlockPtr)            sysCall(pBlockPtr,0x2028)
  525. #define GetDevNumberGS(pBlockPtr)        sysCall(pBlockPtr,0x2020)
  526. #define GetDirEntryGS(pBlockPtr)        sysCall(pBlockPtr,0x201C)
  527. #define GetEOFGS(pBlockPtr)                sysCall(pBlockPtr,0x2019)
  528. #define GetFileInfoGS(pBlockPtr)        sysCall(pBlockPtr,0x2006)
  529. #define GetFSTInfoGS(pBlockPtr)            sysCall(pBlockPtr,0x202B)
  530. #define GetLevelGS(pBlockPtr)            sysCall(pBlockPtr,0x201B)
  531. #define GetMarkGS(pBlockPtr)            sysCall(pBlockPtr,0x2017)
  532. #define GetNameGS(pBlockPtr)            sysCall(pBlockPtr,0x2027)
  533. #define GetPrefixGS(pBlockPtr)            sysCall(pBlockPtr,0x200A)
  534. #define GetRefInfoGS(pBlockPtr)            sysCall(pBlockPtr,0x2039)
  535. #define GetRefNumGS(pBlockPtr)            sysCall(pBlockPtr,0x2038)
  536. #define GetStdRefNumGS(pBlockPtr)        sysCall(pBlockPtr,0x2037)
  537. #define GetSysPrefsGS(pBlockPtr)        sysCall(pBlockPtr,0x200F)
  538. #define GetVersionGS(pBlockPtr)            sysCall(pBlockPtr,0x202A)
  539. #define JudgeNameGS(pBlockPtr)            sysCall(pBlockPtr,0x2007)
  540. #define NewlineGS(pBlockPtr)            sysCall(pBlockPtr,0x2011)
  541. #define NullGS(pBlockPtr)                sysCall(pBlockPtr,0x200D)
  542. #define OpenGS(pBlockPtr)                sysCall(pBlockPtr,0x2010)
  543. #define OSShutDownGS(pBlockPtr)            sysCall(pBlockPtr,0x2003)
  544. #define QuitGS(pBlockPtr)                sysCall(pBlockPtr,0x2029)
  545. #define ReadGS(pBlockPtr)                sysCall(pBlockPtr,0x2012)
  546. #define ResetCacheGS(pBlockPtr)            sysCall(pBlockPtr,0x2026)
  547. #define SessionStatusGS(pBlockPtr)        sysCall(pBlockPtr,0x201F)
  548. #define SetEOFGS(pBlockPtr)                sysCall(pBlockPtr,0x2018)
  549. #define SetFileInfoGS(pBlockPtr)        sysCall(pBlockPtr,0x2005)
  550. #define SetLevelGS(pBlockPtr)            sysCall(pBlockPtr,0x201A)
  551. #define SetMarkGS(pBlockPtr)            sysCall(pBlockPtr,0x2016)
  552. #define SetPrefixGS(pBlockPtr)            sysCall(pBlockPtr,0x2009)
  553. #define SetStdRefNumGS(pBlockPtr)        sysCall(pBlockPtr,0x203A)
  554. #define SetSysPrefsGS(pBlockPtr)        sysCall(pBlockPtr,0x200C)
  555. #define UnbindIntGS(pBlockPtr)            sysCall(pBlockPtr,0x2032)
  556. #define VolumeGS(pBlockPtr)                sysCall(pBlockPtr,0x2008)
  557. #define WriteGS(pBlockPtr)                sysCall(pBlockPtr,0x2013)
  558.  
  559. #ifndef __PRODOS__ 
  560.     #define GetSysPrefs(arg)    GetSysPrefsGS(arg)
  561.     #define BeginSession(arg)    BeginSessionGS(arg)
  562.     #define EndSession(arg)        EndSessionGS(arg)
  563.     #define SessionStatus(arg)    SessionStatusGS(arg)
  564.     #define ResetCache(arg)        ResetCacheGS(arg)
  565.     #define ChangePath(arg)        ChangePathGS(arg)
  566.     #define ClearBackupBit(arg)    ClearBackupBitGS(arg)
  567.     #define Close(arg)            CloseGS(arg)
  568.     #define Create(arg)            CreateGS(arg)
  569.     #define DControl(arg)        DControlGS(arg)
  570.     #define Destroy(arg)        DestroyGS(arg)
  571.     #define DInfo(arg)            DInfoGS(arg)
  572.     #define DRead(arg)            DReadGS(arg)
  573.     #define DStatus(arg)        DStatusGS(arg)
  574.     #define DWrite(arg)            DWriteGS(arg)
  575.     #define EraseDisk(arg)        EraseDiskGS(arg)
  576.     #define ExpandPath(arg)        ExpandPathGS(arg)
  577.     #define Flush(arg)            FlushGS(arg)
  578.     #define Format(arg)            FormatGS(arg)
  579.     #define GetBootVol(arg)        GetBootVolGS(arg)
  580.     #define GetDevNumber(arg)    GetDevNumberGS(arg)
  581.     #define GetDirEntry(arg)    GetDirEntryGS(arg)
  582.     #define GetEOF(arg)            GetEOFGS(arg)
  583.     #define GetFileInfo(arg)    GetFileInfoGS(arg) 
  584.     #define GetFSTInfo(arg)        GetFSTInfoGS(arg)
  585.     #define GetLevel(arg)        GetLevelGS(arg)
  586.     #define GetMark(arg)        GetMarkGS(arg)
  587.     #define GetName(arg)        GetNameGS(arg)
  588.     #define GetPrefix(arg)        GetPrefixGS(arg)
  589.     #define GetVersion(arg)        GetVersionGS(arg)
  590.     #define JudgeName(arg)        JudgeNameGS(arg)
  591.     #define Newline(arg)        NewlineGS(arg)
  592.     #define Null(arg)            NullGS(arg)
  593.     #define Open(arg)            OpenGS(arg)
  594.     #define Quit(arg)            QuitGS(arg)
  595.     #define Read(arg)            ReadGS(arg)
  596.     #define SetEOF(arg)            SetEOFGS(arg)
  597.     #define SetFileInfo(arg)    SetFileInfoGS(arg)
  598.     #define SetLevel(arg)        SetLevelGS(arg)
  599.     #define SetMark(arg)        SetMarkGS(arg)
  600.     #define SetPrefix(arg)        SetPrefixGS(arg)
  601.     #define UnbindInt(arg)        UnbindIntGS(arg)
  602.     #define Volume(arg)            VolumeGS(arg)
  603.     #define Write(arg)            WriteGS(arg)
  604.     #define BindInt(arg)        BindIntGS(arg)
  605.      
  606.     #define ChangePathRec        ChangePathRecGS 
  607.     #define CreateRec            CreateRecGS 
  608.     #define DAccessRec            DAccessRecGS 
  609.     #define DevNumRec            DevNumRecGS 
  610.     #define DInfoRec            DInfoRecGS 
  611.     #define DIORec                DIORecGS 
  612.     #define DirEntryRec            DirEntryRecGS 
  613.     #define EOFRec                EOFRecGS
  614.     #define ExpandPathRec        ExpandPathRecGS 
  615.     #define FileInfoRec            FileInfoRecGS 
  616.     #define FormatRec            FormatRecGS 
  617.     #define FSTInfoRec            FSTInfoRecGS 
  618.     #define InterruptRec        InterruptRecGS 
  619.     #define IORec                IORecGS 
  620.     #define JudgeNameRec        JudgeNameRecGS
  621.     #define LevelRec            LevelRecGS 
  622.     #define NameRec                NameRecGS
  623.     #define GetNameRec            GetNameRecGS 
  624.     #define NewlineRec            NewlineRecGS 
  625.     #define OpenRec                OpenRecGS 
  626.     #define PositionRec            PositionRecGS 
  627.     #define PrefixRec            PrefixRecGS 
  628.     #define QuitRec                QuitRecGS 
  629.     #define RefNumRec            RefNumRecGS 
  630.     #define SetPositionRec        SetPositionRecGS 
  631.     #define SysPrefRec            SysPrefRecGS 
  632.     #define VersionRec            VersionRecGS 
  633.     #define VolumeRec            VolumeRecGS 
  634.      
  635. #endif 
  636.  
  637.  
  638. #endif
  639.